﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CMS_GYM.Interface
{
    public partial class frmBangGiaCauLong : frmTemplete1
    {
        int IdBangGia;
        int IdNgayTrongTuan;
        bool InsertFlag;
        clsBangGiaBUS BangGiaBUS;

        public frmBangGiaCauLong()
        {
            InitializeComponent();
            lblTitle.Text = "BẢNG GIÁ CẦU LÔNG";
            uct_Reset.Reset.Click += new EventHandler(btn_Reset_Click);
            uct_Save.Save.Click += new EventHandler(btn_Save_Click);
            uct_Delete.Delete.Click += new EventHandler(btn_Delete_Click);
            uct_Refresh.Refresh.Click += new EventHandler(btn_Refresh_Click);
            //IdBangGia = 0;
            InsertFlag = false;
            BangGiaBUS = new clsBangGiaBUS();
            cboNgayTrongTuan.DataSource = BangGiaBUS.LayBangNgayTrongTuan();
            cboNgayTrongTuan.DisplayMember = "TenNgayTrongTuan";
            cboNgayTrongTuan.ValueMember = "NgayTrongTuanId";
            LoadData();
        }

        #region Functions
        private void SetPermission()
        {
            uct_Reset.Enabled = clsUser.LayThongTinPhanQuyen("BangGiaCauLong").ChucNang.Them;
            uct_Save.Enabled = clsUser.LayThongTinPhanQuyen("BangGiaCauLong").ChucNang.Sua;
            uct_Delete.Enabled = clsUser.LayThongTinPhanQuyen("BangGiaCauLong").ChucNang.Xoa;
        }

        #region LoadData()
        public void LoadData()
        {
            try
            {
                //clsBangGiaBUS BangGiaBUS = new clsBangGiaBUS();
                dtg_Data.Rows.Clear();
                DataTable dt = BangGiaBUS.LayBang();
                foreach (DataRow dr in dt.Rows)
                {
                    dtg_Data.Rows.Add(new object[] { dr["BangGiaId"], dr["NgayTrongTuanId"], dr["TenNgayTrongTuan"]
                        , dr["GioBatDau"], dr["GioKetThuc"], dr["GiaTien"] }); 
                }
            }
            catch{}
        }
        #endregion

        #region LayThongTinBangGia(int BangGiaId)
        public void LayThongTinBangGia(int BangGiaId)
        {
            ClearData();
            //clsBangGiaBUS BangGiaBUS = new clsBangGiaBUS();
            DataTable dt = BangGiaBUS.LayThongTinBangGia(BangGiaId);
            if (dt.Rows.Count > 0)
            {
                txtMaNgayTrongTuan.Text = dt.Rows[0]["TenNgayTrongTuan"].ToString();
                txtGioBatDau.Text = dt.Rows[0]["GioBatDau"].ToString();
                txtGioKetThuc.Text = dt.Rows[0]["GioKetThuc"].ToString();
                txtGiaTien.Text = dt.Rows[0]["GiaTien"].ToString();
                string temp = dt.Rows[0]["NgayTrongTuanId"].ToString();
                cboNgayTrongTuan.SelectedValue = dt.Rows[0]["NgayTrongTuanId"];
            }
        }
        #endregion

        #region ClearData()
        public void ClearData()
        {
            txtMaNgayTrongTuan.Text = string.Empty;
            txtGioBatDau.Text = string.Empty;
            txtGioKetThuc.Text = string.Empty;
            txtGiaTien.Text = string.Empty;
            //IdBangGia = 0;
            //IdNgayTrongTuan = 0;
        }
        #endregion

        #endregion

        #region Events

        #region btn_Reset_Click(object sender, EventArgs e)
        private void btn_Reset_Click(object sender, EventArgs e)
        {
            InsertFlag = true;
            ClearData();
            IdBangGia = 0;
            IdNgayTrongTuan = 0;
            txtMaNgayTrongTuan.Focus();
        }
        #endregion

        #region btn_Save_Click(object sender, EventArgs e)
        private void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                if (InsertFlag)
                {
                    if (txtMaNgayTrongTuan.Text == string.Empty || txtGioBatDau.Text == string.Empty
                        || txtGioKetThuc.Text == string.Empty || txtGiaTien.Text == string.Empty)
                    {
                        MessageBox.Show("Kiểm tra dữ liệu nhập vào", "Thông báo");
                        return;
                    }
                    clsBangGiaDTO BangGiaDTO = new clsBangGiaDTO();
                    //BangGiaDTO.BangGiaId = IdBangGia;
                    BangGiaDTO.NgayTrongTuanId = IdNgayTrongTuan;
                    BangGiaDTO.GioBatDau = txtGioBatDau.Text;
                    BangGiaDTO.GioKetThuc = txtGioKetThuc.Text;
                    BangGiaDTO.GiaTien = double.Parse(txtGiaTien.Text);
                    int i = BangGiaBUS.Them(BangGiaDTO);
                    if (i == 1)
                    {
                        MessageBox.Show("Thêm dữ liệu thành công", "Thông báo");
                        LoadData();
                        InsertFlag = false;
                    }
                    else
                        MessageBox.Show("Lỗi thêm dữ liệu", "Thông báo");
                    return;
                }

                if (IdBangGia == 0) return;
                if (MessageBox.Show("Xác nhận cập nhật dữ liệu?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    clsBangGiaDTO BangGiaDTO = new clsBangGiaDTO();
                    BangGiaDTO.BangGiaId = IdBangGia;
                    BangGiaDTO.NgayTrongTuanId = IdNgayTrongTuan;
                    BangGiaDTO.GioBatDau = txtGioBatDau.Text;
                    BangGiaDTO.GioKetThuc = txtGioKetThuc.Text;
                    BangGiaDTO.GiaTien = double.Parse(txtGiaTien.Text);
                    int i = BangGiaBUS.Sua(BangGiaDTO);
                    if (i == 1)
                    {
                        MessageBox.Show("Cập nhật dữ liệu thành công", "Thông báo");
                    }
                    else
                        MessageBox.Show("Lỗi cập nhật dữ liệu", "Thông báo");
                    LoadData();
                }
            }
            catch { }
        }
        #endregion

        #region btn_Delete_Click(object sender, EventArgs e)
        private void btn_Delete_Click(object sender, EventArgs e)
        {
            try
            {
                if (IdBangGia == 0) return;
                if (MessageBox.Show("Xác nhận xóa dữ liệu?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
                {
                    int i = BangGiaBUS.Xoa(IdBangGia);
                    if (i == 1)
                    {
                        MessageBox.Show("Xóa dữ liệu thành công", "Thông báo");
                    }
                    else
                        MessageBox.Show("Lỗi xóa dữ liệu", "Thông báo");
                    LoadData();
                }
            }
            catch { }
        }
        #endregion

        #region btn_Refresh_Click(object sender, EventArgs e)
        private void btn_Refresh_Click(object sender, EventArgs e)
        {
            LoadData();
        }
        #endregion

        #region dtg_Data_RowEnter(object sender, DataGridViewCellEventArgs e)
        private void dtg_Data_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                IdNgayTrongTuan = int.Parse(dtg_Data.SelectedRows[0].Cells["NgayTrongTuanId"].Value.ToString());
                IdBangGia = int.Parse(dtg_Data.SelectedRows[0].Cells["BangGiaId"].Value.ToString());
                LayThongTinBangGia(int.Parse(dtg_Data.SelectedRows[0].Cells["BangGiaId"].Value.ToString()));
            }
            catch { }
        }
        #endregion

        #region cboNgayTrongTuan_SelectionChangeCommitted(object sender, EventArgs e)
        private void cboNgayTrongTuan_SelectionChangeCommitted(object sender, EventArgs e)
        {
            txtMaNgayTrongTuan.Text = ((DataRowView)cboNgayTrongTuan.SelectedItem).Row["TenNgayTrongTuan"].ToString();
            IdNgayTrongTuan = int.Parse(cboNgayTrongTuan.SelectedValue.ToString());
        }
        #endregion

        private void frmBangGiaCauLong_Load(object sender, EventArgs e)
        {
            try
            {
                SetPermission();
            }
            catch { }
        }

        #endregion

    }
}
